#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>

int main()
{

  return 0;
}

//int main()
//{
//  printf("printf\n");
//  fprintf(stdout, "fprintf\n");
//  fputs("fputs\n", stdout);
//  const char* str = "write\n";
//  write(1, str, strlen(str));
// 
//  fork();
//  return 0;
//}

//int main()
//{
//  close(1);
//  int fd = open("log.txt", O_CREAT|O_WRONLY|O_TRUNC, 0666);
//  const char* str = "hello word";
//  write(1, str, strlen(str));
//
//  printf("aaaaaaaaaa\n");
//  fflush(stdout);
//  close(fd);
//  return 0;
//}

//int main()
//{
//  int fd = open("error.txt", O_CREAT|O_WRONLY|O_APPEND, 0666);
//  dup2(fd, 2);
//  int i = 1;
//  
//  if(i == 1)
//  {
//    errno = 1;
//    perror("hello world");
//    return 1;
//  }
//  close(fd);
//  return 0;
//}

//int main(int argc, char* argv[])
//{
//  char* redirect = argv[2];
//  char* filename = argv[3];
//  int fd = 0;
//
//  if(strcmp(redirect, ">") == 0)
//  {
//    fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0666);
//    dup2(fd, 1);
//  }
//  else if(strcmp(redirect, ">>") == 0)
//  {
//    fd = open(filename, O_CREAT|O_WRONLY|O_APPEND, 0666);
//    dup2(fd, 1);
//  }
//  else if(strcmp(redirect, "<") == 0)
//  {
//    fd = open(filename, O_RDONLY);
//    dup2(fd, 0);
//  }
//  else
//  {
//    //do nothing
//  }
//  char* cmd[2];
//  cmd[0] = argv[1];
//  cmd[1] = NULL;
//  execvp(cmd[0], cmd);
//
//
//  return 0;
//}


//int main()
//{
//  //close(1);
//  int fd = open("log.txt", O_CREAT|O_WRONLY|O_TRUNC, 0666);
//
//  dup2(fd, 1);
//  const char* str = "hello world\n";
//  write(1, str, strlen(str));
//
//  close(fd);
//  return 0;
//}
